package br.com.cnpv.modelo.entity;

import java.util.Date;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Table;

@Entity
@Table(name="veiculo_cliente")
public class VeiculoCliente {

	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	@Column(name="id")
	private Integer id;
	
	@Column(name="id_veiculo")
	private Integer idVeiculo;
	
	@OneToOne(fetch=FetchType.LAZY)
	@JoinColumn(name="id_cliente", insertable=false, updatable=false, referencedColumnName="id")
	private Cliente cliente;
	
	@Column(name="id_cliente")
	private Integer idCliente;
	
	@Column(name="ativo")
	private boolean ativo;
	
	@Column(name="dt_incl")
	private Date dtIncl;
	
	@Column(name="dt_alter")
	private Date dtAlter;
	
	@Column(name="dt_inat")
	private Date dtInat;
	
	@Column(name="id_usuario")
	private Integer idUsuario;
	
	@OneToMany(fetch=FetchType.LAZY)
	@JoinColumn(name="id_evento", insertable=false, updatable=false, referencedColumnName="id")
	private List<Evento> eventoList;
	
	@OneToOne(fetch=FetchType.LAZY)
	@JoinColumn(name="id_veiculo", insertable=false, updatable=false, referencedColumnName="id")
	private Veiculo veiculo;

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public Integer getIdVeiculo() {
		return idVeiculo;
	}

	public void setIdVeiculo(Integer idVeiculo) {
		this.idVeiculo = idVeiculo;
	}

	public Integer getIdCliente() {
		return idCliente;
	}

	public void setIdCliente(Integer idCliente) {
		this.idCliente = idCliente;
	}

	public boolean isAtivo() {
		return ativo;
	}

	public void setAtivo(boolean ativo) {
		this.ativo = ativo;
	}

	public Date getDtIncl() {
		return dtIncl;
	}

	public void setDtIncl(Date dtIncl) {
		this.dtIncl = dtIncl;
	}

	public Date getDtAlter() {
		return dtAlter;
	}

	public void setDtAlter(Date dtAlter) {
		this.dtAlter = dtAlter;
	}

	public Date getDtInat() {
		return dtInat;
	}

	public void setDtInat(Date dtInat) {
		this.dtInat = dtInat;
	}

	public Integer getIdUsuario() {
		return idUsuario;
	}

	public void setIdUsuario(Integer idUsuario) {
		this.idUsuario = idUsuario;
	}

	public List<Evento> getEventoList() {
		return eventoList;
	}

	public void setEventoList(List<Evento> eventoList) {
		this.eventoList = eventoList;
	}

	public Veiculo getVeiculo() {
		return veiculo;
	}

	public void setVeiculo(Veiculo veiculo) {
		this.veiculo = veiculo;
	}

	public Cliente getCliente() {
		return cliente;
	}

	public void setCliente(Cliente cliente) {
		this.cliente = cliente;
	}


}